Routing method for dynamic wdm optical networks with wavelength continuity restrictions

ABSTRACT

The invention relates to a novel method for determining the set of routes that allow each network user to transmit. The method is more efficient than the existing methods, in terms of number of wavelengths, and due to the fixed routing strategy used, its implementation is simple, and its online operation is very fast.

FIELD OF APPLICATION

The present invention focuses on the field of optical networks, specifically on the field of dynamic optical networks with wavelength continuity constraints and its objective is to provide a routing method for dynamic optical networks with wavelength continuity constraints.

BACKGROUND OF THE INVENTION

Routing is a basic component of network operation: each connection is defined by a pair of nodes in the network: the source node (the one that transmits the information) and the destination node (the one that receives the information). In order for said pair to communicate, the designer must assign a route to be followed by the data to be transmitted. Then, the routing problem is to assign each connection to a specific route. This problem can be solved for two different forms of network operation. These are: static network operation and dynamic network operation. Currently, optical networks are inefficient, since they work statically, that is, resources are permanently assigned to each user from source to destination, regardless of the percentage of time being used. This operation is clearly suboptimal; therefore, a possible solution is to migrate into a dynamic operation. That is, assigning resources to each user only when a communication is requested. Accordingly, the objective of this invention is to solve the problem of routing in dynamic optical networks.

The routing problem has been widely studied in the literature, due to its large impact on the cost of the network (CapEx) and in the performance of the network. This task is generally solved in order to simultaneously minimize the cost of the network, while guaranteeing that the performance of the network meets the level established in the service-level agreement (SLA). To solve the routing problem, several approaches have been proposed, such as: fixed routing, fixed alternate routing, and adaptive routing. In “A review of routing and wavelength assignment approaches for wavelength-routed optical WDM networks” by Zang et al. published in Optical Networks Magazine, 1 (1): 47-60, 2000, there is an exhaustive revision on these routing strategies.

The routing problem is largely affected by whether or not there is a wavelength conversion capability at the optical nodes. The wavelength conversion capability means that, if a node receives an incoming signal at a particular wavelength, then the node may transmit the signal on any output channel but using a different wavelength. The wavelength conversion technology is not fully available, therefore current optical networks must comply with the wavelength continuity constraint, that is, when an end-to-end communication between any pair of nodes is performed, the route connecting them must use the same wavelength on each link of the route. However, in the context of dynamic optical networks, different transmissions from the same user may be transmitted at different wavelengths.

The main patents relating to the routing problem in dynamic WDM optical networks with wavelength continuity constraints are described below.

U.S. Pat. No. 9,060,215 B2, dated Jun. 16, 2015, entitled “Network specific routing and wavelength assignment for optical communications networks”; by Miedema et. al., belonging to Ciena Corporation, discloses a genetic algorithm for solving routing and wavelength assignment in optical networks having dynamic wavelength routing. The method proposes an iterative method, based on genetic algorithms. The network operator can choose the adaptation function to find a good solution based on any criteria defined by the network operator.

U.S. Pat. No. 8,693,871 B2, dated Apr. 8, 2014, entitled “System for routing and wavelength assignment in wavelength division multiplexing optical networks”; by Resende et. al., belonging to AT&T Intellectual Property I LP, describes a method for solving routing and wavelength assignment. This method seeks to minimize the number of wavelengths used, using a bin-packing problem solution, seeking to solve the minimum number of bins, wherein the wavelengths are bins. This method assigns the wavelengths with the new versions of the First-Fit, Best-Fit, First-Fit-Decreasing, and Best-Fit Decreasing methods, using bins.

U.S. Pat. No. 2014/086576 A1, dated Mar. 27, 2014, entitled “Determining least-latency paths across a provider network utilizing available capacity” by Campbell et al., belonging to Verizon Patent and Licensing, Inc., discloses a system for calculating one or more alternate paths for each user of the network. The objects of this method are to minimize the latency of each user and decrease the number of necessary wavelength conversion processes. However, this technique solves this problem in a static network operation; this means that the resources are assigned to each user permanently. In contrast, our invention solves the routing problem in a dynamic network operation, whereby the resources are assigned to each user on demand, only when the user wishes to transmit to the destination.

SUMMARY OF THE INVENTION

The present invention provides a routing method for a dynamic wavelength-division multiplexing (WDM) optical network having wavelength continuity constraints, characterized in that it comprises the steps of:

-   -   obtaining, by means of a processor, the topology of said dynamic         WDM optical network having wavelength continuity constraints         stored in a topology database, said dynamic WDM optical network         being represented by N network nodes and L links connecting said         N nodes;     -   obtaining, by means of said processor, a plurality of users of         said network, wherein a user of said plurality is defined as a         source node, a destination node, and a traffic load associated         with said user;     -   obtaining, by means of said processor, a plurality of         non-operational routes, said plurality of non-operational routes         corresponding to said plurality of users; and storing said         plurality of non-operational routes in a non-operational routes         database, wherein said non-operational routes are stored in said         non-operational routes database sorted from shorter to longer         length and, for those of equal length, from lowest to highest         traffic load;     -   storing, in an operational routes database, the routes having         length equal to 1 and removing said route from said         non-operational routes database;     -   calculating, by means of said processor, the cost of each link         of said network using the information from said operational         routes database;     -   calculating, by means of said processor, a cheapest route         corresponding to the user of the first non-operational route of         said non-operational routes database, using the information         corresponding to the cost of each link; storing said cheapest         route in said operational routes database and removing said         non-operational route corresponding to said user of said         non-operational routes database;     -   repeating the above two steps until there are no non-operational         routes in said non-operational routes database; and     -   transmitting information through said network using said routes         stored in said operational routes database;

In a preferred embodiment, the method is characterized in that said non-operational routes are obtained by means of the Dijkstra algorithm.

In another preferred embodiment, the method is characterized in that said cheapest routes are obtained by means of the Dijkstra algorithm weighted by the cost of each link.

In a further preferred embodiment, the method is characterized in that the cost of each link

is obtained by the formula:

=

wherein

is the traffic load of the link

, and ρ is the average traffic load of said network. In a more preferred embodiment, the method is characterized in that the traffic load of each link

,

, is obtained by the formula:

$\rho_{\ell} = {\sum\limits_{u_{\ell}}\rho_{u}}$

wherein

is the set of users whose operational routes use the link

, and ρ_(u) is the traffic load of a user u. In another more preferred embodiment, the method is characterized in that said average traffic load, ρ, is obtained by the formula

$\overset{¯}{\rho} = {\frac{\sum_{\ell}\rho_{\ell}}{L}.}$

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram depicting, in a general manner, the type of environment in which the invention is implemented, identifying the main subsystems involved in its operation.

FIG. 2 is a diagram depicting the topology of the provider network of FIG. 1.

FIG. 3A is a diagram depicting the structure of the network topology information system of FIG. 1.

FIG. 3B is a diagram depicting a table for storing the nodes information of FIG. 2.

FIG. 3C is a diagram depicting a table for storing the links information of FIG. 2.

FIG. 4A is a diagram depicting the structure of the users information system of FIG. 1.

FIG. 4B is a diagram depicting a table for storing network users information pertaining to the users database of FIG. 4A.

FIG. 5A is a diagram depicting the structure and functional components of the cheapest path by layers calculator system of FIG. 1.

FIG. 5B is a diagram depicting the table of non-operational routes calculated and stored in the non-operational routes database of FIG. 5A.

FIG. 5C is a diagram depicting the table of operational routes calculated and stored in the operational routes database of FIG. 5A.

FIG. 5D is a diagram depicting the table of routes calculated and stored in the routes database of FIG. 5A.

DETAILED DESCRIPTION OF THE INVENTION

The diagrams presented in the attached figures describe the environment of the invention.

The method that is object of the present invention implements a cheapest path by layers algorithm (hereinafter referred to in the text as CPL), which is based on the cheapest path connecting a source node 210 to a destination node 210 in the provider network 110, while, simultaneously, the traffic load on the links in the network is as balanced as possible. Each pair of nodes 210 represents a user u, which communicates via a route r_(u). It is assumed that the cost C_(r) _(u) of the route r_(u) is equal to the cost of the user u, and is given by the sum of the cost of each link,

, assigned to each link

belonging to the user's route. Specifically,

is calculated by the equation (1) and C_(r) _(u) is calculated by the equation (2).

=

  (1)

C_(r) _(u) =

  (2)

In equation (1),

is the traffic load of the link

220, which is equal to the sum of the traffic load ρ_(u) provided by each user u, belonging to the set of users

, using the link

in their route, as described in equation (3):

=

ρ_(u)   (3)

It should be noted that the traffic load of each user is stored in the users database 430 of the users information system 130.

On the other hand, referring again to equation (1), ρ is the average of the traffic load of all links 220 of the provider network 110, as presented in equation (4), wherein

is the set of the links 220 in the provider network 110, and L the number of links in

.

$\begin{matrix} {\overset{¯}{\rho} = \frac{\sum_{\ell \in \mathcal{L}}\rho_{\ell}}{L}} & (4) \end{matrix}$

The operation of the CPL method can be performed in the environment 100 as shown in FIG. 1. The configuration may be comprised of a provider network 110 and a network topology information system 120, which contains the structure of the network topology of the provider 110. It may also contain a users information system 130, which contains the set of users (pair of source and destination nodes) using the provider network 110 and the traffic load of each user. In addition, the environment 100 has a cheapest path by layers calculator system 150, responsible for calculating the cheapest route for each user, which is connected to the network topology information system 120 and the users information system 130 through the communication system 140.

The provider network 110 is an optical network, which can be modeled as a graph

=(

,

), composed of a set

of nodes interconnected by a set

of optical fiber links 220. A network node 210 may be any type of optical network (that is, an optical cross-connect—OXC) without wavelength conversion capabilities.

The network topology information system 120 may be a server or network device within or outside the provider network 110. The network topology information system 120 is stored in a topology database 330 and may be comprised of an input interface 310 that receives a request or data from the communication system 140 that are processed by a processor 320. Topology database 330 includes the node information 210 and the link information 220 in the provider network 110, using a nodes table 350 to store the nodes 210 and another links table 360 to store the links 220, as described in FIGS. 3B and 3C, respectively. To communicate with other systems or devices, the network topology information system 120 may send messages using the output interface 340.

The users information system 130 may be a server or network device outside the provider network 110 and may be comprised of an input interface 410 that receives information requests from the communication system 140. This information is processed by the processor 420 and may be stored in the users database 430. The users database 430 contains all users data (pairs of nodes) in the provider network 110, and the traffic load associated with each of them, as presented in the users table 450 shown in FIG. 4B. To interact with other systems and devices, the users information system 130 may send messages using the output interface 440.

The cheapest path by layers calculator system 150 may be a server or a computer device capable of communicating with other devices, for example, a desktop computer or laptop computer, outside the provider network 110. The cheapest path by layers calculator system may be composed of an input interface 510, which accepts requests or information from the communication system 140. During execution of the CPL algorithm, the cheapest path by layers calculator system 150 may request data regarding the network topology and users to the network topology information system 120 and users information system 130, respectively. Said information is stored in the device's own databases, either in the topology database 520 with topology information, or in the users database 530 with the users data. The link cost calculator 540 and the route calculator 550 use the information stored in the non-operational routes database 560 and the operational routes database 570 to calculate the costs of each link and each route, respectively. The operational routes database 570 contains all those users and their routes, having their definitive routes calculated during execution of the CPL algorithm. On the other hand, the non-operational routes database 560 contains the other users, that is, those who do not possess a definitive route defined during execution of the CPL algorithm. The link cost calculator 540 uses the topology database 520 information, the users database 530, and the operational routes database to calculate the cost associated with each link 220. At the same time, the routes calculator 550 is in charge of calculating the route for each user. For delivery, the results of the CPL algorithm execution may be stored in the routes database 580, or sent to another system or device using the output interface 590, as a routs table 630, as shown in FIG. 5D.

The structure of the non-operational routes table 610, the operational routes table 620, and the routes table 630 are shown in FIGS. 5B, 5C and 5D, respectively.

The communication system 140 may be any network system that allows to connect two or more devices, such as the cellular network, the public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G), a long-term evolution (LTE) network, a fifth generation (5G), a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, a general packet radio service (GPRS), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), an ad hoc network, an Intranet, the Internet, a fiber optic based network, a satellite network, television network, or a mixture of one or more of these systems.

The CPL method is executed in the cheapest path by layers calculator system 150 and its operation is described below:

-   -   1. The cheapest path by layers calculator system 150 requests         the network topology information from the network topology         information system 120 and stores it in its own topology         database 520.     -   2. The cheapest path by layers calculator system 150 requests         the users information and their traffic loads from the users         information system 130, storing them in the non-operational         routes database 560.     -   3. The link cost calculator 540 defines all link costs equal to         1.

14. The route calculator 550 calculates the initial set of routes (for each user of the network), using any cheapest route algorithm (for example, Dijkstra), based on the network topology and in the cost of the links previously stored in step 3.

-   -   5. The route calculator 550 stores the initial set of the users         route in the non-operational routes database 560.     -   6. The routes calculator 550 classifies the routes of the         non-operational routes database 560 according to their length         (that is, the number of links comprising the route), from         shortest to longest. The routes with the same length are ordered         by their traffic load (from lowest to highest). In the case of         tie, the order is arbitrarily chosen.     -   7. The routes calculator 550 moves all users with a route length         equal to 1, from the non-operational routes database 560 to the         operational routes database 570.     -   8. The link cost calculator 540 calculates the cost in each         link, using the cost algorithm (CA) (described below),         considering only the routes of all users stored in the         operational routes database 570.     -   9. The routes calculator 550 calculates the cheapest path using         Dijkstra, considering the cost of the link evaluated in step 8.     -   10. The routes calculator 550 moves the user (only one)         associated with the selected route in step 9 from the         non-operational routes database 560 to the operational routes         database 570.     -   11. Steps 9, 10 and 11 are repeated until there is no user         stored in the non-operational routes database 560.     -   12. Finally, when all users are transferred to the operational         routes database 570, this database is sent to the routes         database 580.

A network manager may use this routing table (called R) to transfer it and copy it in a centralized or distributed manner to the nodes 210 of the provider network 110.

CA: Cost Algorithm:

The link cost calculator 530 performs the following operations for each link stored in topology database 520:

The traffic load

from the link

is calculated using equation (3) (The set

considered in this step is composed of all users stored in the operational routes database 570).

A cost

is set to

using equation (1).

The link cost calculator 530 calculates the average traffic load of the links by equation (4).

The cheapest routing method can be used in two different ways:

-   -   a) It can be used to generate a route per user, valid for all         wavelengths of the network.     -   b) Alternatively, it can be used to generate a route per user,         for each different wavelength (or a set of consecutive         wavelengths). In this case, the traffic load offered by each         user at each wavelength can be evaluated using the method         published in “Blocking Evaluation and Wavelength Dimensioning of         Dynamic WDM Networks without Wavelength Conversion” by Jara         et.al. in Journal of Optical Communications and Networking, vol.         9, no. 8, pp. 625-634, 2017, or by any other method available in         the literature. 

1. A routing method for a dynamic wavelength division multiplexing (WDM) optical network having wavelength continuity constraints, CHARACTERIZED in that the method comprises: obtaining, by means of a processor, the topology of said dynamic WDM optical network having wavelength continuity constraints, stored in a topology database, said dynamic WDM optical network being represented by N network nodes and L links connecting said N nodes; obtaining, by means of said processor, a plurality of users of said network, wherein a user of said plurality is defined as a source node, a destination node, and a traffic load associated with said user; obtaining, by means of said processor, a plurality of non-operational routes, said plurality of non-operational routes corresponding to said plurality of users; and storing said plurality of non-operational routes in a non-operational routes database, wherein said non-operational routes are stored in said non-operational routes database sorted from shorter to longer length and, for those of equal length, from lowest to highest traffic load; storing, in an operational routes database, the routes having length equal to 1 and removing said route from said non-operational routes database; calculating, by means of said processor, the cost of each link of said network using the information from said operational routes database; calculating, by means of said processor, a cheapest route corresponding to the user of the first non-operational route of said non-operational routes database, using the information corresponding to the cost of each link; storing said cheapest route in said operational routes database and removing said non-operational route corresponding to said user of said non-operational routes database; repeating the above two steps until there are no non-operational routes in said non-operational routes database; and transmitting information through said network using said routes stored in said operational routes database. wherein said processor calculates the cost of each link

by the formula:

=

wherein

is the traffic load of the link

and ρ is the average traffic load of said Network.
 2. The method of claim 1, CHARACTERIZED in that said non-operational routes are obtained by means of the Dijkstra algorithm.
 3. The method of claim 1, CHARACTERIZED in that said cheapest paths are obtained by means of the Dijkstra algorithm weighted by the cost of each link.
 4. The method of claim1, CHARACTERIZED in that the traffic load of each link

,

, is obtained by the formula: $\rho_{\ell} = {\sum\limits_{u_{\ell}}\rho_{u}}$ wherein

is the set of users whose operational routes use the link

and ρ_(u) is the traffic load of a user u.
 5. The method of claim1, CHARACTERIZED in that said average traffic load, ρ, is obtained by the formula ${\overset{¯}{\rho} = \frac{\sum_{\ell}\rho_{\ell}}{L}}.$ 